layui.config({
    base: 'assets/layuiadmin/' //静态资源所在路径
}).extend({
    index: 'lib/index', //主入口模块
    tableSearch: '../layui/lay/modules/tableSearch/tableSearch',
}).use(['index', 'table', 'laytpl', 'tableSearch'], function(){
    var $ = layui.$,
        table = layui.table,
        tableSearch = layui.tableSearch;

    table.render({
        id: 'data-table',
        elem: '#data-table',
        url: 'dataStatis/imAnalysis/list',
        where: getData(),
        toolbar: '#data-table-toolbar',
        title: '消息分析列表',
        height: 'full-30',
        page: true,
        limit: 50,
        cols: [[
            {field: 'id', title: 'ID', width: 100, align: 'center'},
            {field: 'dateTime', title: '日期', width: 220, align: 'center'},
            {field: 'userId', title: '发送者id', width: 140, align: 'center'},
            {field: 'host', title: '用户身份', width: 150, align: 'center', templet: '#hostTpl'},
            {field: 'textNum', title: '文本消息数', align: 'center', templet: '#textNumTpl', sort: true},
            {field: 'pictureNum', title: '图片消息数', align: 'center', templet: '#pictureNumTpl', sort: true},
            {field: 'audioNum', title: '语音消息数', align: 'center', templet: '#audioNumTpl', sort: true},
            {field: 'videoNum', title: '视频消息数', align: 'center', templet: '#videoNumTpl', sort: true},
            {field: 'customNum', title: '自定义消息数', align: 'center', templet: '#customNumTpl', sort: true},
            {field: 'totalNum', title: '总消息数', align: 'center', sort: true},
        ]],
        initSort: { //默认排序
            field: 'totalNum',
            type: 'desc'
        },
        parseData: function(result){
            return {
                "code": result.code, //解析接口状态
                "msg": result.msg, //解析提示文本
                "count": result.data.total, //解析数据长度
                "data": result.data.datas //解析数据列表
            };
        },
        done: function (res, curr, count){
            var curr = tableSearch.cache.pages['page'];
            if(curr > 1){
                tableSearch.cache.pages['page'] = '';
                table.reload('data-table', {
                    page: {
                        curr : curr
                    }
                });
            }

            //表格reload之后重新加载查询条件
            if($('#data-table').next().find('.layui-table-header').find('tr').length < 2){
                initSearch.reload();
            }
        }
    });

    //加载查询条件
    var initSearch = tableSearch.render({
        'elem': '#data-table',
        'searchs': [
            {field: 'userId', type: 'input'},
            {field: 'dateTime', type: 'date', format: 'date'},
            {field: 'host', type: 'select', data: [{name: '用户', value: 0}, {name: '主播', value: 1}]}
        ],
        'done': function(res){
            // reloadData();
        }
    });

    //头工具栏事件
    table.on('toolbar(data-table)', function(obj){
        var checks = table.checkStatus(obj.config.id);
        var data = checks.data;
        switch(obj.event){
            case 'search':
                var data =  getData();
                table.reload('data-table', {
                    url: 'dataStatis/imAnalysis/list',
                    where: data,
                    page: {
                        curr: 1
                    }
                });
                break;
            case 'reset':
                tableSearch.resetData({'initData': [{field: 'dateTime', data: getNowDate()}]});
                break;
        };
    });

    //监听排序事件
    table.on('sort(data-table)', function(obj){
        var field = obj.field;  //当前排序的字段名
        var sort = obj.type;    //当前排序类型：desc（降序）、asc（升序）、null（空对象，默认排序）

        var data = getData();
        data.field = field;
        data.sort = sort;

        table.reload('data-table', {
            initSort: obj, //记录初始排序，如果不设的话，将无法标记表头的排序状态。
            where: data,
            page: {
                curr: 1
            }
        });
    });

    //监听行工具事件
    table.on('tool(data-table)', function(obj){
        var data = obj.data;
        if(obj.event === 'viewUserImLog'){
            var type = $(this).parent().parent().attr('data-field');
            type = type.replace('Num', '').toUpperCase();

            //获取当前页
            var page = $(".layui-laypage-skip .layui-input").val();
            // //获取当前页条数
            var limit = $(".layui-laypage-limits").find("option:selected").val();
            tableSearch.cache.pages['page'] = page;
            tableSearch.cache.pages['limit'] = limit;
            sessionStorage.setItem("imAnalysisSearchData", JSON.stringify(tableSearch.cache.data));
            sessionStorage.setItem("imAnalysisSearchPages", JSON.stringify(tableSearch.cache.pages));
            window.location.href = '/toViewUserImLog?type='+type+'&fromUserId='+data.userId+'&time='+data.dateTime+' 00:00:00 - '+data.dateTime+' 23:59:59';
        }
    });

    /**
     * 获取查询数据
     */
    function getData() {
        var data = sessionStorage.getItem("imAnalysisSearchData");
        var pages = sessionStorage.getItem("imAnalysisSearchPages");
        sessionStorage.removeItem("imAnalysisSearchData");
        sessionStorage.removeItem("imAnalysisSearchPages");
        if(data != null){
            tableSearch.cache.data = JSON.parse(data);
        }
        if(pages != null){
            tableSearch.cache.pages = JSON.parse(pages);
        }
        return tableSearch.getData({'initData': [{field: 'dateTime', data: getNowDate()}]});
    }
});